草庐IT

c++ - Swig -includeall 除了...

全部标签

c++ - 如何测试主存访问时间?

寻找一个C/C++程序来测试访问一block固定内存需要多长时间,特别是在RAM中。如何确保测试访问时间不是缓存或TLB数据?例如,我可以“禁用”所有缓存/TLB吗?或者我可以在RAM中指定一个特定的地址来只写/只读吗?另一方面,我如何确保我只测试缓存?有没有办法告诉编译器在哪里保存和读取,缓存/内存?例如,这个测试是否有一个众所周知的标准程序(inoneofthesebooks?)?我确实看到了这个但是我不明白如何调整列表的大小,你可以控制内存访问是命中一级缓存,二级缓存还是主内存:measuringlatenciesofmemory如何正确编写此测试程序?

c++ - 我如何读取小型转储?

我通过以下方式将小型转储写入文件:MiniDumpWriteDump.该文件是从客户端发送给我的(即我不能使用某种即时调试器)。我的问题是:如何打开它?VisualStudio给出错误:“不支持调试旧格式故障转储。”我用谷歌搜索,发现人们正在用visualstudio打开内核转储。这不是内核转储,只是应用程序崩溃的转储。我也试过用WinDbg打开它,但那也无法打开它。我怎样才能得到这些信息? 最佳答案 工具:http://technet.microsoft.com/el-gr/sysinternals/dd996900.aspx您在

c++ - 如何使用 win32 从多线程上下文初始化线程原语?

我想创建一个静态锁voidfoo(){staticCRITICAL_SECTION*lock=NULL;//thisistheproblem,Icannotcreateanyprimitivetodothiswithwin32threadsstaticlongisInitialized=0;if(InterlockedExchange(&isInitialized,1)==0){//thiswillensurethatlockisinitializedonlyoncelock=(CRITICAL_SECTION*)malloc(sizeof(CRITICAL_SECTION));Ini

c - 编写带有更新的 Windows 程序,权限问题

我想创建一个程序Foo.exe登录时出错foo.log.该程序已安装(NSIS安装程序)到C:\ProgramFiles(x86)\Foo\中.在安装过程中,NSIS添加了一个快捷方式(CreateShortCut"$SMSTARTUP\Foo.lnk""$INSTDIR\Foo.exe")来启动Foo.exe当Windows启动时。当Windows在启动后执行我的程序时,它以“非管理权限”启动我的程序。所以我的程序不能编辑C:\ProgramFiles(x86)\Foo\foo.log.解决方法是将可编辑文件存储在另一个目录中,例如在$APPDATA.但真正的问题来了:我在我的程序中

c++ - 我的 "out of the box"程序在哪里可以在 Windows 中可靠地创建目录?

例如,如果我的程序尝试使用CreateDirectory()创建一个目录在C:\ProgramFiles(x86)\[installdirectory]\中,会因为权限问题而失败。我听说理想的位置是C:\Users\[username]\AppData\Local\,但是还有其他“安全”位置吗?当然,它可能会因Windows版本而异。 最佳答案 C:\ProgramData是其他常用的位置。下面这个很有帮助,http://blogs.msdn.com/b/cjacks/archive/2008/02/05/where-should-

c - 将非 BMP 代码点写入控制台

Windows控制台API提供了WriteConsoleOutput函数,它允许您将字符写入控制台上的任意位置。此函数采用CHAR_INFO的数组。结构作为参数,指定:要写的字符(即代码点)其属性但是CHAR_INFO结构只允许将代码点指定为WCHAR或CHAR。CHAR仅支持ANSI字符,WCHAR仅支持U+0000到U+FFFF范围内的代码点(即theBMP)。有没有办法使用控制台API写出U+10000到U+10FFFF范围内的代码点?IE。在BMP之外编写代码点? 最佳答案 据我所知,Windows控制台API仅限于UCS2

c - lua5.2在windows中调用c dll

我的C代码如下:skype分析器.h#include"lua.h"#include"lualib.h"#include"lauxlib.h"#include"stdio.h"#include"stdlib.h"//dllexportfuncint_declspec(dllexport)luaopen_skypeAnalyzer(lua_State*L);skype分析器.c#include"skypeAnalyzer.h"#include#includeintrun(lua_State*L){printf("------->>>Hi!%s\n",lua_tostring(L,1));r

c - 如何处理跨平台 C 库中的 Unicode 路径?

我正在为C语言库做贡献。它有一个函数,该函数采用char*参数作为文件路径名。作者大多是UNIX开发人员,这在char*主要表示UTF-8的unix上运行良好。(至少inGCC,字符集可配置,默认为UTF-8。)但是,char*在Windows上表示ANSI,这意味着目前无法在Windows上使用此库的Unicode路径名,而应该使用wchar_t*并且仅支持UTF-16。(quicksearchonStackOverflow显示ANSIWindowsAPI函数不能与UTF-8一起使用。)问题是,处理这个问题的正确方法是什么?我们想出了各种方法来做到这一点,但我们都不是Windows专

c - 如何检测进程是否作为服务安装

我已经创建了一个win32应用程序,它应该作为服务和应用程序运行。当我单击并运行它时,它应该作为应用程序运行。当从服务Controller调用时,它应该检测到它并分支以作为服务运行。我如何在不传递参数的情况下检测到这一点?阿布扎德先生 最佳答案 传统(也是最简单)的方法是调用StartServiceCtrlDispatcher()并且,如果失败,则假设您没有作为服务运行。这在实践中效果很好,尽管从技术上讲我不相信Microsoft保证它会这样做。如果您想要更稳健的方法,您可以examineyoursecuritytoken查看它是否

c - 未检测到 Windows CreateProcess 退出

我正在尝试使用单独的进程来完成一些工作。在Windows版本中,我使用CreateProcess启动它并正常重定向标准输入/标准输出(继承的匿名管道)。管道工作;但是,当子进程退出时,父进程会挂起读取调用。父进程如何知道子进程已经退出?我认为ReadFile应该在子进程退出时立即返回一个损坏的管道错误。用于创建具有重定向输入和输出的子进程的Windows示例代码具有相同的问题,因此我将其作为MCVE发布。也可在https://msdn.microsoft.com/library/windows/desktop/ms682499获得#include#include#include#inc